home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 38 / Amiga Format CD38 (1999-03-15)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-04].iso / -screenplay- / hd_installers / -whdload- / whdload_dev / src / sources / picture.s < prev    next >
Text File  |  1998-07-16  |  2KB  |  77 lines

  1. ;*---------------------------------------------------------------------------
  2. ;  :Program.    picture.s
  3. ;  :Contents.    show picture (init custom/copper, decrunch pic)
  4. ;  :Version.    $Id: picture.s 1.1 1998/06/14 20:54:50 jah Exp $
  5. ;  :History.    30.08.97 extracted form slave sources
  6. ;  :Requires.    _resload    long variable containing resload base
  7. ;        _colors        color table
  8. ;  :Copyright.    Public Domain
  9. ;  :Language.    68000 Assembler
  10. ;  :Translator.    Barfly V1.131
  11. ;  :To Do.
  12. ;---------------------------------------------------------------------------*
  13. ;
  14. ; IN:    A0 = APTR start of packed picture
  15. ;    A1 = APTR address for screen memory
  16. ; OUT:    d0-d1/a0-a1 destroyed
  17. ;
  18. ;--------------------------------
  19.  
  20. _Picture    movem.l    d2-d7/a2-a6,-(a7)
  21.  
  22.         lea    (_custom),a6        ;A6 = _custom
  23.         move.l    (_resload),a5        ;A5 = _resload
  24.         move.l    a1,a4            ;A4 = Screen start
  25.         moveq    #3,d4            ;D4 = Picture depth
  26.         
  27.         move.l    a4,a1
  28.         jsr    (resload_Decrunch,a5)
  29.         
  30.         lea    (a4,d0.l),a1        ;A1 copperlist
  31.         divu    d4,d0            ;D0 size of a bitplane
  32.         move.w    #bplpt,d1
  33.         move.l    a1,(cop1lc,a6)
  34.         move.l    a4,d2
  35.         move.l    d4,d3
  36.  
  37. .mcl        move.w    d1,(a1)+
  38.         addq.w    #2,d1
  39.         swap    d2
  40.         move.w    d2,(a1)+
  41.         move.w    d1,(a1)+
  42.         addq.w    #2,d1
  43.         swap    d2
  44.         move.w    d2,(a1)+
  45.         add.l    d0,d2
  46.         subq.w    #1,d3
  47.         bne    .mcl
  48.         moveq    #-2,d0
  49.         move.l    d0,(a1)+
  50.         waitvb    a6
  51.         move.w    #DMAF_SETCLR|DMAF_MASTER|DMAF_COPPER,(dmacon,a6)
  52.         
  53.         lea    _colors,a0
  54.         lea    (color,a6),a1
  55.         moveq    #1,d0
  56.         lsl.w    d4,d0
  57. .mc        move.w    (a0)+,(a1)+
  58.         subq.w    #1,d0
  59.         bne    .mc
  60.         
  61.         move.l    #$2981f1c1,(diwstrt,a6)        ;320x200
  62.         move.l    #$003800d0,(ddfstrt,a6)
  63.         move.w    d4,d0                ;depth
  64.         ror.w    #4,d0
  65.         or.w    #$0200,d0
  66.         move.w    d0,(bplcon0,a6)
  67.         clr.w    (bplcon1,a6)
  68.         clr.l    (bpl1mod,a6)
  69.  
  70.         waitvb    a6
  71.         move.w    #DMAF_SETCLR|DMAF_MASTER|DMAF_RASTER,(dmacon,a6)
  72.         
  73.         movem.l    (a7)+,d2-d7/a2-a6
  74.         rts
  75.  
  76.  
  77.